Unifying Software Engineering Methods and Tools: Principles and Patterns from Information Foraging
نویسندگان
چکیده
Theories of human behavior are an important but largely untapped resource for software engineering research. They are important because lack of understanding of human software developers’ needs and activities can mean that important software engineering breakthroughs never get used outside the lab. Furthermore, theory abstracts beyond specific methods and tools to fundamental principles that can be applied to new situations. However, there is a caveat: to be an effective foundation for software engineering research, a human behavioral theory must not only be applicable to the field, but also be useful to researchers without backgrounds in psychology. Toward filling this gap, we investigate the applicability and utility of Information Foraging Theory (IFT) for understanding information-intensive software engineering tasks, drawing upon literature in three areas—debugging, refactoring, and reuse. We abstract from this literature to IFT constructs, showing that IFT can describe information-intensive software engineering activities in ways that explain why many tools and related methods succeeded; that IFT can unify information-intensive activities of software developers under a common theoretical framework; that IFT can uncover new research opportunities in multiple areas; and that IFT can reveal design patterns enabling software engineering researchers without backgrounds in psychology to take practical advantage of this theory.
منابع مشابه
Information Foraging Theory for Collaborative Software Development
Information foraging theory describes how people gather information based on a cost-benefit model. This theory has been successfully applied to the web domain and to software engineering tools. However, little work has been done on how information foraging theory can be applied to information-seeking behavior in a collaborative software engineering setting. This paper discusses how the theory m...
متن کاملPrinciples of component-based design of intelligent agents
Compositional multi-agent system design is a methodological perspective on multiagent system design based on the software engineering principles process and knowledge abstraction, compositionality, reuse, specification and verification. This paper addresses these principles from a generic perspective in the context of the compositional development method DESIRE. An overview is given of reusable...
متن کاملPii: S0169-023x(01)00058-1
Compositional multi-agent system design is a methodological perspective on multi-agent system design based on the software engineering principles process and knowledge abstraction, compositionality, reuse, specification and verification. This paper addresses these principles from a generic perspective in the context of the compositional development method DESIRE. An overview is given of reusabl...
متن کاملHuman-Oriented Software Engineering
Software developers continue to face considerable challenges designing, implementing, and maintaining software systems despite steady advances in software engineering (SE). The software engineering literature contains numerous tool designs that aim to help developers perform complex information-intensive tasks. Regardless of the particular problems these tools aim to solve, they often address f...
متن کاملDesigning and validating an information management software for breast cancer treatment
Background and Aim: Breast cancer is the most common type of cancer in Iran and around the world. It has been recognized as the most significant cause of cancer deaths in developing countries such as Iran. Considering the necessity of accurate and timely diagnosis of this disease, the aim of this research was to design and validate an information management software for the treatment of breast ...
متن کامل